home *** CD-ROM | disk | FTP | other *** search
- unit Readfrmu;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, StdCtrls, ExtCtrls;
-
- type
- TFormReader = class(TForm)
- Panel1: TPanel;
- Button1: TButton;
- FormDescription: TMemo;
- Button2: TButton;
- Button3: TButton;
- procedure Button1Click(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- procedure Button3Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- FormReader: TFormReader;
-
- const
- FormFile = 'ReadFrmU.Dfm';
- TextFile = 'ReadFrmU.Txt';
-
- implementation
-
- uses
- Consts;
-
- {$R *.DFM}
-
- procedure TFormReader.Button1Click(Sender: TObject);
- var
- InStream,
- OutStream: TFileStream;
- begin
- InStream := TFileStream.Create(FormFile, fmOpenRead);
- try
- OutStream := TFileStream.Create(TextFile, fmCreate);
- try
- { Translate form file to text file }
- ObjectResourceToText(InStream, OutStream);
- finally
- OutStream.Free;
- end;
- finally
- InStream.Free;
- end;
- FormDescription.Lines.LoadFromFile(TextFile);
- end;
-
- procedure TFormReader.Button2Click(Sender: TObject);
- var
- InStream: {$ifdef VER80}THandleStream{$else}
- TResourceStream{$endif};
- OutStream: TFileStream;
- begin
- {$ifdef VER80}
- InStream := THandleStream.Create(AccessResource(HInstance,
- FindResource(HInstance, 'TFormReader', rt_RCData)));
- {$else}
- InStream := TResourceStream.Create(HInstance, 'TFormReader', rt_RCData);
- {$endif}
- try
- {$ifdef VER80}
- if InStream.Handle = 0 then
- raise EResNotFound.CreateResFmt(SResNotFound, [ClassName]);
- {$endif}
- try
- OutStream := TFileStream.Create(TextFile, fmCreate);
- try
- { Translate a resource to text file }
- ObjectBinaryToText(InStream, OutStream);
- finally
- OutStream.Free;
- end;
- finally
- InStream.Free;
- end;
- finally
- FileClose(Handle);
- end;
- FormDescription.Lines.LoadFromFile(TextFile);
- end;
-
- procedure TFormReader.Button3Click(Sender: TObject);
- begin
- FormDescription.Lines.Clear;
- end;
-
- end.
-